package com.gem.back.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gem.back.entity.AoaAttendsList;
import com.gem.back.entity.AoaUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  考勤Mapper 接口
 * </p>
 *
 * @author hhhy
 * @since 2020-02-22
 */
@Repository
public interface AoaAttendsListMapper extends BaseMapper<AoaAttendsList> {

    //查询所有考勤信息
    List<AoaAttendsList> findByAttendList(@Param("beginPage") Integer beginPage, @Param("pageCount") Integer pageCount, @Param("userName") String userName);
    //查询记录总数
    Integer getTotal(String userName);


    //根据部门经理下属的考勤信息
    List<AoaAttendsList> findByParentId(@Param("beginPage") Integer beginPage, @Param("pageCount") Integer pageCount, @Param("userName") String userName);
    //查询记录总数
    Integer getEmpTotal(Integer fatherId);


    //根据id查询登录用户的考勤信息
    List<AoaAttendsList> findAttendById(@Param("beginPage") Integer beginPage, @Param("pageCount") Integer pageCount, @Param("userName") String userName);
    //查询记录总数
    Integer getMyTotal(String userName);


    //根据id查询考勤记录
    AoaAttendsList findById(Integer attendsId);


    //查询登录用户当天所有的考勤记录
    Integer countrecord(@Param("nowdate") String nowdate, @Param("userId") Integer userId);


    //查询用户当天下班的考勤记录id
    Integer findoffworkid(@Param("nowdate") String nowdate, @Param("userId") Integer userId);


    //更改考勤时间
    Integer updatetime(@Param("date") Date date, @Param("hourmin") String hourmin, @Param("status") Integer status, @Param("attendsId") Integer attendsId);

    //查找某用户某天最新记录用来显示用户最新的类型和考勤时间
    AoaAttendsList findlastest(@Param("nowdate") String nowdate, @Param("userId") Integer userId);

    //查询部门下属月表考勤状态次数
    Integer findcoutn1(Integer fatherId);
    Integer findcoutn2(Integer fatherId);
    Integer findcoutn3(Integer fatherId);
    Integer findcoutn4(Integer fatherId);
    Integer findcoutn5(Integer fatherId);
    Integer findcoutn6(Integer fatherId);



}
